package cn.iocoder.yudao.module.pay.controller.admin.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 汇付对帐订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class HuifuOrderRespVO {

    @Schema(description = "付款人标识", example = "4946")
    @ExcelProperty("付款人标识")
    private String userTagId;

    @Schema(description = "渠道商号", requiredMode = Schema.RequiredMode.REQUIRED, example = "14102")
    @ExcelProperty("渠道商号")
    private String huifuId;

    @Schema(description = "商户号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12390")
    @ExcelProperty("商户号")
    private String sysId;

    @Schema(description = "商户简称", example = "张三")
    @ExcelProperty("商户简称")
    private String sysShortName;

    @Schema(description = "商户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("商户名称")
    private String sysIdName;

    @Schema(description = "产品号")
    @ExcelProperty("产品号")
    private String productNumber;

    @Schema(description = "汇付终端id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9872")
    @ExcelProperty("汇付终端id")
    private String huiTerminalId;

    @Schema(description = "终端名称", example = "王五")
    @ExcelProperty("终端名称")
    private String huiTerminalName;

    @Schema(description = "终端类型", example = "1")
    @ExcelProperty("终端类型")
    private String huiTerminalType;

    @Schema(description = "凭证号")
    @ExcelProperty("凭证号")
    private String pzNumber;

    @Schema(description = "汇付订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24223")
    @ExcelProperty("汇付订单号")
    private String huifuOrderId;

    @Schema(description = "外部订单号", example = "10958")
    @ExcelProperty("外部订单号")
    private String outsideOrderId;

    @Schema(description = "交易类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("交易类型")
    private String exchangeType;

    @Schema(description = "交易方式订单号")
    @ExcelProperty("交易方式订单号")
    private String exchangeWaySeq;

    @Schema(description = "交易方式 微信支付宝等")
    @ExcelProperty("交易方式 微信支付宝等")
    private String exchangeWay;

    @Schema(description = "商品描述")
    @ExcelProperty("商品描述")
    private String productRemarks;

    @Schema(description = "交易金额")
    @ExcelProperty("交易金额")
    private String exchangeMoney;

    @Schema(description = "手续费")
    @ExcelProperty("手续费")
    private String handlingFee;

    @Schema(description = "退款金额")
    @ExcelProperty("退款金额")
    private String refundAmount;

    @Schema(description = "交易状态", example = "1")
    @ExcelProperty("交易状态")
    private String payStatus;

    @Schema(description = "交易时间")
    @ExcelProperty("交易时间")
    private LocalDateTime exchangeTime;

    @Schema(description = "付款银行")
    @ExcelProperty("付款银行")
    private String payBank;

    @Schema(description = "借贷标识")
    @ExcelProperty("借贷标识")
    private String loanTag;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}